home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / webmon_1 / crypto.bas < prev    next >
BASIC Source File  |  1999-07-30  |  2KB  |  62 lines

  1. Attribute VB_Name = "Crypto"
  2. Public ecstr As String
  3.  
  4. Function Encrypt(instring As String, key1 As Integer, key2 As Integer)
  5.   ec1 = Enc1(instring, key1)
  6.   ec2 = Enc1(ec1, key2)
  7.   Randomize
  8.   keycode = Int(Rnd() * 32000)
  9.   kchi = Int(keycode / 255)
  10.   kclo = keycode - (kchi * 255)
  11.   ec3 = Enc1(ec2, keycode)
  12.   Encrypt = Chr(kchi) & Chr(kclo) & ec3
  13.   Debug.Print (Asc(Left(Encrypt, 1)) * 255) + Asc(Mid(Encrypt, 2, 1))
  14. End Function
  15.  
  16.  
  17. Function Enc1(instring, key)
  18.   slen = Len(instring)
  19.   Rnd (-1)
  20.   Randomize (key)
  21.   OpStr = ""
  22.   For tmp1 = 1 To slen
  23.     thiskey = Rnd() * 255
  24.     dd = Asc(Mid(instring, tmp1, 1))
  25.     dd = dd + thiskey
  26.     If dd > 255 Then dd = dd - 255
  27.     OpStr = OpStr & Chr(dd)
  28.   Next
  29.   Enc1 = OpStr
  30. End Function
  31.  
  32. Function Decrypt(instring As String, key1 As Integer, key2 As Integer)
  33.   On Error GoTo e_trap
  34.   'first remove the outer key from the string
  35.   outerkey = (Asc(Left(instring, 1)) * 255) + Asc(Mid(instring, 2, 1))
  36.   codestr = Mid(instring, 3, Len(instring) - 2)
  37.   dc1 = dec1(codestr, outerkey)
  38.   dc2 = dec1(dc1, key2)
  39.   dc3 = dec1(dc2, key1)
  40.   Decrypt = dc3
  41.   Exit Function
  42. e_trap:
  43.   Resume Next
  44. End Function
  45.  
  46. Function dec1(instring, keycode)
  47.   slen = Len(instring)
  48.   Rnd (-1)
  49.   Randomize (keycode)
  50.   OpStr = ""
  51.   For tmp1 = 1 To slen
  52.     thiskey = Rnd() * 255
  53.     dd = Asc(Mid(instring, tmp1, 1))
  54.     dd = dd - thiskey
  55.     If dd < 0 Then dd = dd + 255
  56.     OpStr = OpStr & Chr(dd)
  57.   Next
  58.   dec1 = OpStr
  59. End Function
  60.  
  61.  
  62.